<?php
namespace Game\Controller;
use Game\Controllrer\GameBaseController;
/**
 * huhaiqin 2025.5.4
 * 游戏模块, 支持类
 */
// class SupportController extends GameBaseController{
class JifenController extends \Think\Controller{

    /**
     * 通过赠送羁绊礼物获取积分
     * @param $uid   // 用户id，默认是当前登录用户
     * @param $jifen // 积分数量，默认是1
     * @param $idol_id // 被赠送的羁绊id
     */
    public function give_gift($uid = 0 ,$jifen = 1,$idol_id = 0){
        if(!$uid){
            $uid = $this->_uid;
        }
        if(!$idol_id){
            _apiReturn(0, 'idol_id不能为空');
        }
        $check = D('GameUserJifen')->_add($uid, 'give_gift', $jifen, $idol_id);
        if($check){
            _apiReturn(1, '成功');
        }else{
            _apiReturn(0, '失败');
        }
    }

    /**
     * 根据用户id获取积分
     * @param $uid   // 用户id，默认是当前登录用户
     */
    public function user($uid = 0){
        if(!$uid){
            $uid = $this->_uid;
        }
        $jifen = D('GameUserJifen')->getTotalJifen($uid);
        _apiReturn(1, '成功', $jifen);
    }

    /**
     * 根据羁绊id和获取积分的key获取一段时间内的积分，默认为当月
     * @param $idol_id
     * @param $key
     * @param $start_time  // 默认为当月
     * @param $end_time    // 默认为当月
     */
    public function get_idol($idol_id = 0,$key = 'give_gift',$start_time = 0,$end_time = 0){
        if(!$idol_id){
            _apiReturn(0, 'idol_id不能为空');
        }
        $jifen = D('GameUserJifen')->getTotalJifenByKeyAndIdol($idol_id, $key, $start_time, $end_time);
        _apiReturn(1, '成功', $jifen);
    }

    /**
     * 根据羁绊id数组和获取积分的key获取一段时间内的积分，默认为当月
     * @param $idol_ids
     * @param $key
     * @param $start_time  // 默认为当月
     * @param $end_time    // 默认为当月
     */
    public function get_idol_list($idol_ids = '',$key = 'give_gift',$start_time = 0,$end_time = 0){
        if(!$idol_ids){
            _apiReturn(0, 'idol_ids不能为空');
        }
        if(!is_array($idol_ids)){
            $idol_ids = explode(',', $idol_ids);
        }
        $jifen = D('GameUserJifen')->getTotalJifenByKeyAndIdols($idol_ids, $key, $start_time, $end_time);
        _apiReturn(1, '成功', $jifen);
    }

}